package com.xiaoshuidi.cloud.module.contract.dal.dataobject.contract;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaoshuidi.cloud.framework.tenant.core.db.TenantBaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * <p>
 * 换房记录
 * </p>
 *
 * @author Feng
 * @since 2023-07-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("contract_changing_rooms_record")
public class ContractChangingRoomsRecordDo extends TenantBaseDO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 换房记录ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 原房间所属门店ID
     */
    private Long sourceApartmentId;

    /**
     * 原房间所属门店名称
     */
    private String sourceApartmentName;

    /**
     * 原房间ID
     */
    private Long sourceRoomId;

    /**
     * 原房间名称
     */
    private String sourceRoomName;

    /**
     * 原合同ID
     */
    private Long sourceContractId;

    /**
     * 原合同月租金
     */
    private BigDecimal sourceMonthRent;

    /**
     * 企业客户时，原合同水电承担方;企业客户时，原合同水电承担方;1企业2个人
     */
    private Integer sourceHydropowerShareMethod;

    /**
     * 新房间所属门店ID
     */
    private Long targetApartmentId;

    /**
     * 新房间所属门店名称
     */
    private String targetApartmentName;

    /**
     * 新房间ID
     */
    private Long targetRoomId;

    /**
     * 新房间名称
     */
    private String targetRoomName;

    /**
     * 新合同ID
     */
    private Long targetContractId;

    /**
     * 新合同月租金
     */
    private BigDecimal targetMonthRent;

    /**
     * 企业客户时，新合同水电承担方;1企业0个人
     */
    private Integer targetHydropowerShareMethod;

    /**
     * 换房时间
     */
    private LocalDate changeDate;

    /**
     * 企业客户时不为空, 企业客户ID
     */
    private Long customerCompanyId;

    /**
     * 个人客户时不为空, 租户ID
     */
    private Long memberId;

}
